What is server and client and how they work